package com.touzhijia.authority.domain.dto.request;

import com.touzhijia.authority.domain.dto.QueryByPage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import java.util.Date;

/**
 * 作者： lzw<br/>
 * 创建时间：2018-03-20 17:07 <br/>
 */
@ApiModel("查询用户信息")
@EqualsAndHashCode(callSuper = true)
@Data
public class UserQueryReq extends QueryByPage {

    @ApiModelProperty("模糊匹配参数")
    private String queryKey;

    /**
     * 登录名
     */
    @ApiModelProperty("登录名")
    @Length(max = 64)
    private String username;

    /**
     * 昵称
     */
    @ApiModelProperty("昵称 like")
    @Length(max = 64)
    private String nickname;

    /**
     * 手机号
     */
    @ApiModelProperty("手机号")
    @Length(max = 64)
    private String telephone;

    /**
     * 邮箱
     */
    @ApiModelProperty("邮箱")
    @Length(max = 64)
    private String email;

    /**
     * 用户类型，0：手动创建的用户，1：LDAP服务中的用户
     */
    @ApiModelProperty("用户类型，0：手动创建的用户，1：LDAP服务中的用户")
    @Range(min = 0, max = 1)
    private Integer userType;

    /**
     * LDAP服务器是否存在用户，0：不存在；1：存在
     */
    @ApiModelProperty("LDAP服务器是否存在用户，0：不存在；1：存在")
    @Range(min = 0, max = 1)
    private Integer ldapExist;

    /**
     * 帐号是否锁定，0：未锁定；1：锁定
     */
    @ApiModelProperty("帐号是否锁定，0：未锁定；1：锁定")
    @Range(min = 0, max = 1)
    private Integer locked;

    /**
     * 是否启用，0：禁用；1：启用
     */
    @ApiModelProperty("是否启用，0：禁用；1：启用")
    @Range(min = 0, max = 1)
    private Integer enabled;

    @ApiModelProperty("创建时间-开始")
    private Date createStart;

    @ApiModelProperty("创建时间-结束")
    private Date createEnd;
}
